package com.shengzai

object Code15Function {
  def main(args: Array[String]): Unit = {

    execFunc(func(1))

    // 将柯里化函数中的部分参数列表进行填充，再用变量保存函数，
    //   对于变量的类型为 Int => Int 表示 函数以Int类型作为传入参数，Int类型作为返回值类型
    val intToInt: Int => Int = func(1)
    println(intToInt(30))

  }

//  def func(a: Int, b: Int): Int = {
//    a * b
//  }

  def execFunc(f: (Int) => Int): Unit = {
    println(f(20))
  }

  /**
   * 柯里化函数
   */
  def func(a: Int)(b: Int): Int = {
    a * b
  }

}
